EXPORT_SYMBOL(__per_cpu_offset);
#endif
+#ifdef CONFIG_XEN
+static int
+xen_panic_event(struct notifier_block *this, unsigned long event, void *ptr)
+{
+ HYPERVISOR_shutdown(SHUTDOWN_crash);
+ /* we're never actually going to get here... */
+ return NOTIFY_DONE;
+}
+
+static struct notifier_block xen_panic_block = {
+ xen_panic_event, NULL, 0 /* try to go last */
+};
+#endif
+
extern void ia64_setup_printk_clock(void);
DEFINE_PER_CPU(struct cpuinfo_ia64, cpu_info);
unw_init();
#ifdef CONFIG_XEN
- if (is_running_on_xen())
+ if (is_running_on_xen()) {
setup_xen_features();
+ /* Register a call for panic conditions. */
+ notifier_chain_register(&panic_notifier_list, &xen_panic_block);
+ }
#endif
ia64_patch_vtop((u64) __start___vtop_patchlist, (u64) __end___vtop_patchlist);